`8^q q` H~1541 DEVELOPMET262AKKKKKKKKK$ ^ JKaa& /t&<* & )  KKKKKKKKKKK$>vwvvbb/vwvvbbKKKK$>vwvvbb./vwvvbbKKKKKK$>&&&&vvvvvvzv`&&&&qvvvvvvzvKKKKK`8^q q` H~1541 DEVELOPMENT262A$>YJKKKKKKK KKKKKKK $>Y|KKKKKKKKKKKKKKKwvKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK   ""6)"DISK ROM TO FILE"O"START AT LOCATION (HEX) C100";A$nZ$A$:280:SZ: ZF1 20|(""31)Z2"QUIT AT LOCATION (HEX) FFFF";A$<Z$A$:280:QZ: ZF1 50F""31)Z P"SAVE IN FILE NAMED ROM 1541KKKKKKK ZF1:"HEX STRING TOO SHORT":+6 K1 4Q@ZN((Z$,K))48: ZN9 ZNZN7J ZN0 ZN15 ZF1:"BAD HEX CHARACTER":TZ Z ZN 16(4K)^h EN19 "DISK ERROR"EN;EM$;ET;ES:1:15:""LH(L256):LLLK ";F$;Z"WITH LOAD ADDRESS OF (HEX) 1100";A$ZdZ$A$:280:LZ: ZF1 90hn""31)Zzx15,8,15,"I0" 1,8,5,"@0:"F$",P,W"15,EN,EM$,ET,ES EN19 "DISK ERROR"EN;EM$;ET;ES:1:15:""LH(L256):LLLKKKKKKKKK 256LH1,(LL);(LH);% KS QAKH(K256):KLK256KHY15,"M-R"(KL)(KH)w#15,A$: A$"" A$(0)1,A$;"WORKING ON"K1:15::Z0:ZF0" (Z$)4 ZF1:"HEX STRING TOO LONG":, (Z$)4 d FAD.PALn/x2,8,2,"@0:FAD.B,P,W"5@40960G; U.OPT P,O2\; i $0400yIDL $0431IDH IDL35; LDA #$00STA $7F ; DRIVE NUMBER; JSR $C100 ; LED; LDA #$4C ; JUMP 0 STA PO ;PO FIRST HALF; STA MR3 ;ASK FIRST HALFU JSR IT ; FIRST HALF[ ;h LDA #$80 STA PO ;PO SECD HALF STA MR3 ;ASK SECD HALF &JSR IT ; SECD HALF 0; :RTS ; BASIC D; N; SUBROUTIN NNEL ;% LDX #$0F ;PREPARE CHANNEL 15 3 JSR CHKIN9 ;F LDY #$00Z LOOP2 JSR CHRINj STA (PO),Yr INY CPY #$81 *BNE LOOP2 4; >JSR CHN ; CLEAR THE CHANNEL HRTS ; OF HALF PAGE R; \; BEQ DE;4ENTER LDX #$0F ;PREPARE CHANNEL 15 OUTPUTCJSR CHKOUTI;VLDX #$00}LOOP4 LDA MW,X ;S "M-W LO HI $20"$JSR CHROUT.INX8CPX #$06BBNE LOOP4L;VLDA TEMP ;PO START OF PART PAGE`STA POj;(RT; DE RTS ;BACK BASICPREPARE CHANNEL 15 OUTPUTCJSR CHKOUTI;VLDX #$00}LOOP4 LDA MW,X ;S "M-W LO HI $20"$JSR CHROUT.INX8CPX #$06BBNE LOOP4L;VLDA TEMP ;PO START OF PART PAGE`STA POj;K d COPY.PALn1x2,8,2,"@0:COPY.B,P,W"7B40960H;V.OPT P,O2\;i $C000o;w; };LDX #$02JSR $FFC6 ; 2,8,2; LDY #$00 JSR $FFE4 ; INSTA ($FB),YJSR $FFB7 ; C LDA #$FFLDX #$05%STA $1C01-CLVIWRITESYNC BVC WRITESYNCQCLVYDEXkBNE WRITESYNCq;~LDY #$BBOVERFLOW LDA $0100,Y ; WRITE OUT OVERFLOW BUFFER&1 BVC 10CLV:STA $1C01DINYNBNE OVERFLOW"XBUUT CPY $FBBEQ BREAK" INY0BNE WRITE<INC $FEFJMP L;^&BREAK LDA $FEj0CMP $FCt:BNE zD;NSTY $FDXJSR $FFCC ; 2bRTS LDY #$00 JSR $FFE4 ; INSTA ($FB),YJSR $FFB7 ;K  $FAC7STA $0600!"LDA #$C7/,STA $0601<6LDA #$FAJ@STA $0602QJ; ^TLDA #$E0j^STA $03qh; rTABLE LDY $51 ; TRACK NUMBER|; LDA IDL,Y ; ID LOSTA $13; LDA IDH,Y ; ID HISTA $12; CPY  hMR . "M-R"$ r.BYTE $00,$04,$FF,$80* |;: MW . "M-W"U TEMP .BYTE $00,$04,$20[ ;} ; ; FROM DISK ROUTINES ; ; MR ENTRY PO ; LDA #$0 E IN HALF PAGE0 X; ^ bIT LDX #$0F ;PREPARE CHANNEL 15 OUTPUTm lJSR CHKOUTs v; LDX #$00 LOOP1 LDA MR,X ;S MR COMM JSR CHROUT INX CPX #$07 BNE LOOP1 ; JSR CHN ; CLEAR THE CHA f; S DISK ROUTINES 7p;Qz; FIRST MW ENTRY POm; MRITE LDA #$00 ;INITIALIZE PART PAGE POERSTA TEMPBEQ ENTER;LOOP3 LDA TEMPCLCADC #$20STA TEMP tLDY #$00~;)LOOP5 LDA (PO),Y ;S 32 CHARACTERS8JSR CHROUT@INYMCPY #$20jBNE LOOP5 ; DE 32 YETp;LDA #$0D ;CARRIAGE JSR CHROUTJSR CHN ;CLEAR THE CHANNEL;LDA #$00BEQ LOOP3 ;ALWAYS DO PAK  ST " #64,BNE Y6INY)@BNE 5JINC $FC?TJMP E^;ThY STY $FBorJSR $FFCC ; 2w|RTS};; ;LDX #$02JSR $FFC9 ; 2,8,2; LDY #$00WRITE LDA ($FD),YJSR $FFD2 ; OFFER LDA $0400,Y ; WRITE OUT BUFFER0b2 BVC 28lCLVFvSTA $1C01NINY]BNE BUFFERk3 BVC 3q;JSR $FE00 ; ENABLE ;LDA #$05STA $31LDA #$01JMP $F969 #$1FA #$C0STA $1C0 d MOVE THE 1541'S HEADBn"COMMANDS: U=UP D=DOWN Q=QUIT"Tx 15,8,15,"I"k15,"M-R"(0)(28)#15,X$:X(X$(0))BIX 3"BI="BI A$ A$"U" BIBI1 A$"D" BIBI1 A$"Q" 15:BIBI 3=R(X 252) BI-15,"M-W"(0)(28)(1)(R)7 130 FAD.PAL MEMORIES.PAL COPY.PAL XXXXXXXXXXXXXXXXZ#$23 ; TRACK 35BNE TABLE%; 3 LDA $03=BMI D; RJMP $C194; i $0400yIDL $0431IDH IDL35; LDA #$00STA $7F ; DRIVE NUMBER; JSR $C100 ; LED; LDA #$4C ; JUMP USED ; B CHKOUT $FFC9 ; CHANNEL OUTPUTi "CHROUT $FFD2 ;OUTPUT A CHARACTER ,CHN $FFCC ;CLEAR ALL CHANNELS 6CHKIN $FFC6 ; CHANNEL @CHRIN $FFCF ; A CHARACTER J; T; DISK MR & MW COMMS ^; d 20.PALn-x2,8,2,"@0:20.B,P,W"3>40960D;R.OPT P,O2X;e $0500k;JSR $F510 ; FIND BLOCKJSR $F556 ; FIND BLOCK;LDY #$14LDA $19CMP #$12BCC ZEDEYDEY  192,240, 11,173, 10,192, 24,1058  32,141, 10,192,240, 47,162, 15]  32,201,255,162, 0,189, 7,192  32,210,255,232,224, 6,208,245 173, 10,192,133,251,160, 0,177 251, 32,210,255,200,192, 32,208 246,169, 13, 32,210,255, 3 IMAGE)JSR $F556 ; FIND BLOCKLLDA #$FF ; WRITE MODEZSTA $1C03hLDA $1C0Cs #$1F&A #$C00STA $1C0C:LDX #$00DWRITE LDA $0024,XN1 BVC 1XCLVbSTA $1C01lINXvCPX #$08BNE WRITE d 20M.PALn/x2,8,2,"@0:20M.B,P,W"5@40960F;T.OPT P,O2Z;g $0400m;; INITIALIZATI ;LDA #$00STA $7FLDX $0CSTX $51STX $80LDX $0DINX"STX $43,LDA #$016STA $  LDA $0628%STA $0300,X ; SECR-INX9LDA $51USTA $0300,X ; TRACK]INXjLDA #$00STA $0300,X ; IDLINX&STA $0300,X ; IDH0INX:LDA #$0FDSTA $0300,X ; GAPNINXXSTA $0300,X ; GAP  ; 1541 MAT*STA $050044LDX #$01 ; 1541 MAT<>TXANH STA $0500,XVRINX`\BNE ff;|p; CVERT GCR z;LDA #$00STA $30LDA #$03STA $31JSR $FE30PLATAYDEYJSR $FDE5JSR $FDF5 STA $0604 LDA #$AA STA $0605* LDA #$FC8 STA $0606> ;K LDA #$E0W STA $03] ;k  LDA $03u BMI { ; (JMP $C194STA $30LDA #$03STA $31JSR $FE30PLATAYDEYJSR $FDE5JSR $FDF5 d DAS.PALn/x2,8,2,"@0:DAS.B,P,W"5@40960F;T.OPT P,O2Z;g $0500m;JSR $F510 ; FIND JSR $F556 ; FIND SYNC;; OUT *;LDX #$001 BVC 1CLVDEX"BNE 1,;6LDrBNE WRITE1;%WRITE2 BVC WRITE2+;IJSR $FE00 ; ENABLE MODEO&;\0LDA #$01j:JMP $F969JSR $F510 ; FIND JSR $F556 ; FIND SYNC;; OUT *;LDX #$001 BVC 1CLVDEX"BNE 1,;6LD d 21.PALn-x2,8,2,"@0:21.B,P,W"3>40960D;R.OPT P,O2X;e $0500k;JSR $FDA3 ; ENABLE WRITELDA #$55 ; N SYNC BYTESTA $1C01LDX #$FFLDY #$48JSR $FDC9 ; WRITE 18432 N SYNC BYTESJS  "CMP #$19,BCC ZE6DEY+@CMP #$1F7JBCC ZE?TDEYO^ZE INC $18[hCMP $18erBCC o|BEQ |LDA #$00STA $19; LDA #$00E $16E $17E $18E $19STA $1A;JSR $F934 ; CREATE `2,204255,169, 0,240,198, 96,234,234" TRACKH1,6,7,12,13,17,18,24,25,30,31,35210,255,232 x224, 7,208,245, 32,204,255,162  15, 32,198,255,160, 0, 32,207 255,145,251,200,192,129,208,246  32,204,255, 96,169, 0,141, 10U2 BVC 2 ;*JSR $FE00 ; MODE0;=LDA #$01KJMP $F969hCMP $18erBCC o|BEQ |LDA #$00STA $19; LDA #$00E $16E $17E $18E $19STA $1A;JSR $F934 ; CREATE 0620!@LDA #$08 ; TAIL GAP/JSTA $0626<TLDA #$00`^STA $0628 ; SECR COUNTERfh;rJSR $C100 ; LED |;; CREATE S ;LDX #$00 LDA #$09 ; DBIDSTA $0300,XINXINX ; CHECKSUM bINXl;,vLDA #$00 ; COMPUTE CHECKSUM;E $02FA,XJE $02FB,XYE $02FC,XhE $02FD,XxSTA $02F9,X~;INC $0628LDA $0628CMP $43BNE ;TXAPHA; ; CREATE *; LDA #$4B  LDA #$05 STA $31 JSR $F5E9) STA $3A7 JSR $F78F= ;V $; JUMP INSTRUCTI \ .;i 8LDA #$23u BSTA $51{ L; VLDA #$A9 `STA $0600 jLDA #$05 tSTA $0601 ~LDA #$85 STA $0602 LDA #$31 STA $0603 LDA #$4C d 23A.PALn/x2,8,2,"@0:23A.B,P,W"5@40960F;T.OPT P,O2Z;g $0500m;zLDA #$04STA $31;LDA $3ATAXINX ; INCENT CHECKSUMTXASTA $3A;"JSR $F78F X #$45@2 BVC 2JCLV"TDEX-^BNE 23h;RrLDA #$FF ; DIRECTION OUT`|STA $1C03LDA $1C0C; ENABLE WRITE MODE #$1FA #$C0STA $1C0C;LDX #$00LDA #$55WRITE1 BVC WRITE1CLVSTA $1C01DEX  ; CVERT GCR9,JSR $F510 ; FIND ?6;L@LDX #$08nJGAP BVC GAP ; OUT GAPvTCLV~^DEXhBNE GAPr;|LDA #$FF ; ENABLE WRITESTA $1C03LDA $1C0C #$1FA #$C0STA $1C01R $FE00 ; ENABLE LDA #$01+JMP $F969--- 20.PAL 20M.PAL DAS.PAL  d FORMAT A DISKETTE - 15419nT(35),H$(35),L$(35)Zx"FORMAT A DISKETTE - 1541"{"INSERT MASTER IN DRIVE"910"FETCHING FORMATTING ID"15,8,15I135T(I)1IJOB176T135T(T)0340 d 1541 BACKUPn56,33$x1I11448DG49151I,DNIYT(35)eI135pT(I)1wISRW,ERW"1541 BACKUP""INSERT MASTER IN DRIVE"111015,8,15RW8448I11268447I,0"I S0NS 1300<"READING TRACK "T$" - SECTOR "S$HJOB128R1190_E1550iRR1|E4E5580&491650C1:RW,1DRWRW1NRAMRAM256X252,(RAM256)bSlTv15C01010"1541 B 4T(T)1870>RWRW(NS1)/HRAMRAM(256(NS1))BR252,(RAM256)K\990WfS0NShp(RW)0950rz1300"WRITING TRACK "T$" - SECTOR "S$49228JOB1441190E1WW1RWRW1RAMRAM256 2d84, 4,133, 18,192, 35- t208,240,165, 3, 48,252, 76,148R ~193,234,234,234,234,234,234,234(13)920l "OK"r   JOB QUEUE TRY0 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) 55,141, 3, 28,173. > 12, 28, 41, 31, 9,192,141, 12T H 28,169,255,162, 5,141, 1, 28z R 184, 80,254,184,202,208,250,160 \ 187,185, 0, 1, 80,254,184,141 f 1, 28,200,208,244,185, 0, 4 p 80,254,184,141, 1, 28,200,208 z 2 15 p"DONE!" z  DELAY< "PRESS RETURN TO CONTINUE"O C$:C$""920b C$(13)920l "OK"r   JOB QUEUE TRY0 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) E&15,"M-W"(2)(0)(1)(224)1015,"M-R"(2)(0)=:#15,E$PDE$""E$(0)\NE(E$)kXE127560sb15l"DONE!"v JOB QUEUETRY015,"M-W"(8)(0)(4)(T)(S)(T)(S)15,"M-W"(1)(0)(1)(JOB)TRYTRY $(I)0I: EXECUTE1D"FORMATTING DISKETTE"GN15,"M-E"(0)(4)_X15,EN$,EM$,ET$,ES$hbT18plS0|vJOB176970JOB12897015,"M-W"(0)(4)(3)(18)(1)(65)JOB144970S1JOB128970 C0SRW11160 jC$:C$""1130- tC$:C$""1140A ~C$(13)1140K "OK"Q a  JOB QUEUEk TRY0 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) #15,E$ E(E$(0)) 970E1280H$(T)(0),L$(T)(0)5340L15,"M-R"(22)(0)["#15,H$(T)t,H$(T)""H$(T)(0)615,"M-R"(23)(0)@#15,L$(T)JL$(T)""L$(T)(0)TT^T18h970r15|"FORMAT A DISKETTE - 1541"" ,RAM87046252,34@C0(J SEEK7TTSRWERWX^NS202(T17)(T24)(T30)hhT(T)0410trJOB176~|1190E1470T(T)0RWRW(NS1)RAMRAM(256(NS1))252,(RAM256)RR(NS1)620 READ ACKUP""INSERT CLONE IN DRIVE"(1110515,8,15ARW8448NRAM8704Z252,34e SEEKtTSRWERWNS202(T17)(T24)(T30)JOB1761190E1820 RAMRAM(256(NS1))WW(NS1) 990* WRITE 52,(RAM256) S T 15) ERW35210K "READ ERRORS :"R" "m "WRITE ERRORS:"W" "w " " "DONE!" $" " .56,160 8 B L DELAY V"PRESS RETURN TO CONTINUE" ` 128,133,251,141, 3,192, 32, 345 d192, 96,162, 15, 32,201,255,162Z n 0,189, 0,192, 32,210,255,232 x224, 7,208,245, 32,204,255,162  15, 32,198,255,160, 0, 32,207 255,145,251,200,192,129,208,246  32,204,255, 96,169, 0,141, 10H44, 80,254, 32, 0,254,169, 58  133, 49,169, 1, 76,105,249,234TRY500760ZE127680`o"FAILED"w15}  DUPLICATE A SECTOR  169, 4,133, 49, 32,143,247, 32* 16,245,162, 8, 80,254,184,202 4 208,250,169,2  #15,E$ E$""E$(0) E(E$)/ TRY5001070? $E1271000E .O 8 NEWt B169, 0,133,127, 32, 0,193,169 L 76,141, 0, 6,169,199,141, 1 V 6,169,250,141, 2, 6,169,224 `133, 3,164, 81,185, 49, 4,133 j 19,185, 115,"M-R"(1)(0)#15,E$.E$""E$(0):E(E$)KTRY500760ZE127680`o"FAILED"w15}  DUPLICATE A SECTOR  169, 4,133, 49, 32,143,247, 32* 16,245,162, 8, 80,254,184,202 4 208,250,169,2 15,"M-W"(0)(4)(2)(0)(255)$JOB144-970515B15,8,15[ 15,"N0:1541 FORMAT"s15,EN$,EM$,ET$,ES${ S0*JOB1284970>15,"M-W"(162)(4)(2)(50)(54)HJOB144R970\15,"M-W"(162)(7)(2)(50)(54)f TRY5001280 E1271220 &  STR$(T,S)H T$("0"((T),((T))1),2)j S$("0"((S),((S))1),2)p (| 2 $C000 < 77, 45, 82, 0, 4,255,128, 77 F 45, 87, 0, 4, 32,169, 0,133 P251,141, 3,192, 32, 34,192,169 Z INSERT BLANK IN DRIVE"910+15,8,156J06AI07HD]D$(J)D$(J)(D)dIkJsI0~J0615,"M-W"(I)(4)(8)D$(J)II8JI13515,"M-W"(49I)(4)(1)L$(I)&15,"M-W"(84I)(4)(1)H d 22A ERROR - 15411n"22A ERROR - 1541"Ox"INSERT CLONE IN DRIVE"z"DESTROY TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y"15,8,1515, #d DUPLICATE A 22 ERROR - 1541Gn"DUPLICATE A 22 ERROR - 1541"fx"INSERT MASTER IN DRIVE""TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y"1 FROM DRIVE"$r"INSERT CLONE IN DRIVE"F|"PRESS RETURN TO CONTINUE"YC$:C$""390lC$(13)390v"OK"15,8,15 SEEKJOB17655015,"M-W"(71)(0)(1)D$ WRITEJOB14455015,"M-W"(71)(0)(7-W"(71)(0)(1)(7)15%"FAILED"+RETURN TO CONTINUE"YC$:C$""390lC$(13)390v"OK"15,8,15 SEEKJOB17655015,"M-W"(71)(0)(1)D$ WRITEJOB14455015,"M-W"(71)(0)( d 23A ERROR - 1541$nD$(11)<x"23 ERROR - 1541"Z"INSERT CLONE IN DRIVE""DESTROY TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y"15,8, 15,"M-W"(I)(5)(8)D$(J)"II8)J7 EXECUTEW15,"M-W"(2)(0)(1)(224)m15,"M-R"(2)(0)y#15,E$E$""E$(0)E(E$)E12746015"DONE!" JOB QUEUE&TRY0015,"M-W"(8)(0)(4)(T  169,255,141, 3, 28,173, 12, 28A  41, 31, 9,192,141, 12, 28,162g * 0,181, 36, 80,254,184,141, 1 4 28,232,224, 8,208,243, 80,254 > 32, 0,254,169, 1, 76,105,249115"FAILED" 20 ERROR 32, 1 38,133, 58, 32,143,247, 32, 16< 245,162, 8, 80,254,184,202,208b 250,169,255,141, 3, 28,173, 12 28, 41, 31, 9,192,141, 12, 28 169,255,162, 5,141, 1, 28,184 80,254,184,202,208,250,160,187 185, 0, 1, 80,254,184,141 #D15,"M-W"(8)(0)(4)(T)(S)(T)(S)CN15,"M-W"(1)(0)(1)(JOB)QXTRYTRY1gb15,"M-R"(1)(0)sl#15,E$vE$""E$(0)E(E$)TRY500680E127600E115"FAILED" 20 ERROR 32, 1BRY500540E127470!&1520"FAILED"8:","ET$","ES$S15Yd SEEKpJOB176y440"E1550, READ6JOB128@440JE1E4E5550T15,"M-W"(71)(0)(1)(6)^ WRITEhJOB144r "I0"15,EN$,EM$,ET$,ES$,EN$"00"270K""EN$", "EM$","ET$","ES$S15Yd SEEKpJOB176y440"E1550, READ6JOB128@440JE1E4E5550T15,"M-W"(71)(0)(1)(6)^ WRITEhJOB144r 5,8,1515,"I0")15,EN$,EM$,ET$,ES$;EN$"00"270Z""EN$", "EM$","ET$","ES$b15hs SEEKJOB176550" READ,JOB1286550@15,"M-R"(56)(0)J#15,D$TD$""D$(0)^15h"REMOVE MASTER 1)(7)15"DONE!", JOB QUEUE6&TRY0X015,"M-W"(8)(0)(2)(T)(S)x:15,"M-W"(1)(0)(1)(JOB)DTRYTRY1N15,"M-R"(1)(0)X#15,E$bE$""E$(0)lE(E$)vTRY500660E127580 15,"M #d DUPLICATE A 23 ERROR - 1541/nD$(10)Sx"DUPLICATE A 23 ERROR - 1541"{"INSERT MASTER DISKETTE IN DRIVE""READ TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y 15 15,"I0"%15,EN$,EM$,ET$,ES$7EN$"00"280V""EN$", "EM$","ET$","ES$^15do SEEK{JOB176"550, READ6JOB128@550JJ011TI07^DhD$(J)D$(J)(D)rI|JI0J011 )(S)(T)(S)':15,"M-W"(1)(0)(1)(JOB)5DTRYTRY1KN15,"M-R"(1)(0)WX#15,E$jbE$""E$(0)vlE(E$)vTRY500660E12758015"FAILED" 23 ERROR 169, 4,133, 49,165, 58,170,232 1 ";Q$Q$"Y"15,8,15+15,"I0"C15,EN$,EM$,ET$,ES$UEN$"00"280t""EN$", "EM$","ET$","ES$|15 SEEKJOB176"650, READ6JOB128@650J15T"INSERT CLONE IN DRIVE" ^"PRESS RETUR, 1  28,200,208,244,185, 0, 4, 80F  254,184,141, 1, 28,200,208,244l  80,254, 32, 0,254,169, 5,133 * 49,169, 1, 76,105,249,234,23415"FAILED" 23 ERROR 169, 4,133, 49,165, 58,170,232 1 6,245, 32, 86,245,160, 207 165, 25,201, 18,144, 12,136,136] 201, 25,144, 6,136,201, 31,144 1,136,230, 24,197, 24,144, 6 240, 4,169, 0,133, 25,169, 0 69, 22, 69, 23, 69, 24, 69, 25  133, 26, 32, 52,249, 32, 86,245 N TO CONTINUE"hC$:C$""3601rC$(13)360;|"OK"H15,8,15S SEEK_JOB176h650tJ010I07DD$(J)D$(J)(D)IJI0J01015,"M-W"(I)(5)(8)D$(J)II8J EXECUT 440|15,"M-W"(71)(0)(1)(7),E1550415B"DONE!"HX JOB QUEUEbTRY015,"M-W"(8)(0)(2)(T)(S)15,"M-W"(1)(0)(1)(JOB)TRYTRY115,"M-R"(1)(0)#15,E$E$""E$(0)E(E$)T  D15,"M-W"(8)(0)(2)(T)(S)< N15,"M-W"(1)(0)(1)(JOB)J XTRYTRY1` b15,"M-R"(1)(0)l l#15,E$ vE$""E$(0) E(E$) TRY500690 E127600   ERROR HANDLER ET$((T),((T))1) T10ET$"0"ET$  "d INTERROGATE A TRACK - 1541En"INTERROGATE A TRACK - 1541"dx"INSERT MASTER IN DRIVE""INTERROGATE TRACK";TT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,15NS202(T17)(T24)(T30) SEEK JOBh JOB QUEUE rTRY05 |15,"M-W"(8)(0)(2)(T)(S)U 15,"M-W"(1)(0)(1)(JOB)c TRYTRY1y 15,"M-R"(1)(0) #15,E$ E$""E$(0) E(E$) TRY500480 E127400  EM$"?TIME OUT"  SEEK JOB $d SHAKE, RATTLE, & ROLL - 1541In"SHAKE, RATTLE, & ROLL - 1541"jx"INSERT DISKETTE IN DRIVE""CLATTER TRACK";TT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,152,8,2,"#""" SEEK360 N hTRY0( r15,"M-W"(8)(0)(2)(T)(S)H |15,"M-W"(1)(0)(1)(176)V TRYTRY1l 15,"M-R"(1)(0)x #15,E$ E$""E$(0) TRY500460 (E$)127390  2 15,EN$,EM$,ET$,ES$ 15 "FAILED"  N%d INTERROGATE A DISKETTE - 15410nT(35)<xI135GT(I)1NIt"INTERROGATE A DISKETTE - 1541""INSERT MASTER IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""180C$(13)180"OK"15,8,15 R "S$" ="EM$ |S T 15$ 4  JOB QUEUE> TRY0` 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) #15,E$ E$""E$(0) E(E$) TRY500540 E127460  "d DUMP TRACK & SECTOR - 1541.n56,1594xW"DUMP TRACK & SECTOR - 1541"x"INSERT DISKETTE IN DRIVE""TRACK & SECTOR (T,S)";T,ST1T35630NS202(T17)(T24)(T30)S0SNS630"ARE YOU SURE Y";Q$ 1) @S10S$"0"S$ J SEEK) TJOB1762 ^670A hE1410L r READX |JOB128a 670v E1E4E5510 E1E12EN$((E18),2):430 EN$"02":EM$"?TIME OUT":440 EM$"READ ERROR" ET$T$ ES$S$ ""EN$","EM$"Y0 15,"M-W"(8)(0)(2)(T)(S)= 15,"M-W"(1)(0)(1)(JOB)K TRYTRY1a 15,"M-R"(1)(0)m #15,E$ E$""E$(0) E(E$) TRY500770 E127700 440 EM$"READ ERROR" ET$T$ ES$S$ ""EN$","EM$"ES$((S),((S))1)% S10ES$"0"ES$I E1E12EN$((E18),2):750k EN$"02":EM$"?TIME OUT":770 E7E8EM$"WRITE ERROR":770 EM$"READ ERROR" ""EN$", "EM$","ET$","ES$ "FAILED" 15 B QUEUE :TRY0176 370 READ ""+ S0NS7 JOB128@ 370Y S$((S),((S))1)m S10S$" "S$ ""TRACK";T;"- "; ,E1"SECTOR "S$" = OK":330 6E1E12EM$(E18)" READ ERROR" @"SECTOR "S$" ="EM$ JS T15 ^ d 20 ERROR - 1541#nD$(11);x"20 ERROR - 1541"Y"INSERT CLONE IN DRIVE""DESTROY TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y"15,8,1S202(T17)(T24)(T30)% S0NS0 READE 15,"U1";2;0;T;S] 15,EN$,EM$,ET$,ES$r "TRACK";T;"- "; EN$"00""SECTOR";S;"= OK":300 ""SECTOR "ES$" = "EN$" "EM$ ,S 62 @15,EN$,EM$,ET$,ES$ J15 T ^ JOB QUEUE d BACKUP.PALn1x 2,8,2,"@0:M.B,P,W"7B40960H;V.OPT P,O2\;u; MR MW ROUTINES{; $C000;; RAM LOCATIS USED; PO $00FB ;POER WRITE PAGE; ; ROM ROUTINEST135 T(T)03906 NS202(T17)(T24)(T30)A  SEEKM JOB176V 430a " READm ,S0NSy 6JOB128 @430 JE1380 TS$((S),((S))1) ^S10S$" "S$ hE1E12EM$(E18)" READ ERROR" r"TRACK";T;"- SECTOEM$"?TIME OUT" &6 NS202(T17)(T24)(T30)A  SEEKM JOB176V 430a " READm ,S0NSy 6JOB128 @430 JE1380 TS$((S),((S))1) ^S10S$" "S$ hE1E12EM$(E18)" READ ERROR" r"TRACK";T;"- SECTO Q$"Y"630 15,8,15' 15,"I0"? 15,EN$,EM$,ET$,ES$Q EN$"00"290o ""EN$","EM$","ET$","ES$ "PRESS RETURN TO CONTINUE" C$:C$""270 C$(13)270 "T$((T),((T))1) ,T10T$"0"T$ 6S$((S),((S)) ,"ET$","ES$ 15 56,160 % 1 J031< I07V 15,"M-R"(J8I)(4)b #15,D$s &D(D$(0)) 0(40704J8I),D :I DJ N15 X"DONE!" b"POKE56,160:CLR" l v56,160    JOB QUEUE TR5 15,"I0"$15,EN$,EM$,ET$,ES$6EN$"00"280U""EN$", "EM$","ET$","ES$]15cn SEEKS0SNS:300"SS1,JOB1766570@ READJJOB128T570^J011hI07rD|D$(J)D$(J)(D)I J I0J011415,"M-W"(I)(5)(8)D$(J)>II8EJS EXECUTEs15,"M-W"(2)(0)(1)(224)15,"M-R"(2)(0)#15,E$E$""E$(0)E(E$)E12748015"DONE!"&0 JOB QUEUE:TRY0 "d VALIDATE A DISKETTE - 1541(nHxCD$""eF$(143),T%(143),S%(143)"VALIDATE A DISKETTE - 1541""INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""170C$(13)170"OK" E1E12EN$((E18),2):17201EN$"02":EM$"?TIME OUT":1730FEM$"READ ERROR"QET$T$\ES$S$E$EN$", "EM$","ET$","ES$110 JOB QUEUETRY015,"M-W"(8)(0)(2)(T)(S)15,"M-W"(1)(0)(1)(JOB) :C$""1430 C$"C"1430110H" TYPE 'C' TO CONTINUE OR 'S' TO STOP "\C$:C$""1470vC$"C"C$"S"1470C$"C"1350110 JOB QUEUETRY015,"M-W"(8)(0)(2)(T)(S)15,"M-W"(1)(0)(1)(JOB) 'd DUPLICATE TRACK & SECTOR - 1541On"DUPLICATE TRACK & SECTOR - 1541"px"INSERT DISKETTE IN DRIVE""SOURCE TRACK AND SECTOR (T,S)";T,S580TRT:T0SRS:S0"TARGET TRACK AND SECTOR (T,S)";T,S580TWT 17001250*E$"ILLEGAL TRACK OR SECTOR":1250@E$"00, OK,00,00"b""R$;(CD$,I);F$(J)" "E$""F$(J)""J$""R$(CD$,I)""F$(J)" "E$""I20JN1D11000:D:"":I0J 15N11SN:1500"SUM128 630 E1430 750)  SEEK2 TTW; SSWG JOB176P 630] E1500f 750r  WRITE~ JOB144 630 E1540 750 15 &"DONE!" 0 : ILLEGAL TRACK OR SECTOR DT1T35 NNS202(T17) J0N1( J$("00"((J1),((J1))1),3)P "VALIDATING #"J$"/"N$": "F$(J)o "";(CD$,I2);F$(J);" ";x NB1 TT%(J) SS%(J) 1640 ""(CD$,I2)F$(J)NB JOB176 1520 E11040 1170 JOB128 ROR HANDLER ET$((T),((T))1)3 T10ET$"0"ET$M ES$((S),((S))1)c S10ES$"0"ES$ E1E12EN$((E18),2):810 EN$"02":EM$"?TIME OUT":830 *E7E8EM$"WRITE ERROR":830 4EM$"READ ERROR" >""EN$", "EM$"$""B$(0) 0S%(N)(B$) :F$""+ DNULL07 NI015B X#2,B$U bB$""B$(0)a lA(B$)v vA0NULLNULL1 A127AA128 A32A95A63 A34A63 F$F$(A) I NULL16J7:J:820 F$(N)F$ NN1 "d COPY TRACK & SECTOR - 1541En"COPY TRACK & SECTOR - 1541"dx"INSERT MASTER IN DRIVE""TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y" 15, 15,8,15 15,"I0". 15,EN$,EM$,ET$,ES$@ EN$"00"270_ ""EN$", "EM$","ET$","ES$g 15m  "FETCHING DIRECTORY" 2,8,2,"$0,S,R" "15,EN$,EM$,ET$,ES$ ,EN$"00"320 6240 @I0253 J#2,B$ TI ^N0 h"PRESS RETURN TO CONTINUE"- C$:C$""390@ C$(13)390J "OK"W 15,8,15b  SEEKn JOB176w 570 E1490 690  WRITE JOB144 570 E1530 690 15 "DONE!" & 0 JOB QUEUE :TRY0TRYTRY115,"M-R"(1)(0)"#15,E$/,E$""E$(0);6E(E$)M@TRY5001620]JE1271550cTs^ STR$(T,S)hT$((T),((T))1)rT10T$"0"T$|S$((S),((S))1)S10S$"0"S$ EN$,EM$,ET$,ES$SWS "ARE YOU SURE Y";Q$/ Q$"Y"< 15,8,15I 15,"I0"a 15,EN$,EM$,ET$,ES$s EN$"00"310 ""EN$", "EM$","ET$","ES$ 15 " , SEEK 6TTR @SSR JJOB176 T630 ^E1380 h750 r READ |JOBMARY INFORMATION (Y/N) Y";Q$!(Q$"Y"110Z2SI$" /"N$" SUMMARY INFORMATION "b<S0kFSI$vPI09ZF$(S)dSS1nSNI9xISN1460SN" TYPE 'C' TO CONTINUE "C$(T24)(T30) XS0SNS b. l JOB QUEUE8 vTRY0Z 15,"M-W"(8)(0)(2)(T)(S)z 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) #15,E$ E$""E$(0) E(E$) TRY500750 E127660   ER1520$E11080.1170*815,"M-R"(0)(4)(2)6B#15,B$GLT(B$(0))UVT01170a`#15,B$rjS(B$(0))tT35S202(T17)(T24)(T30)II2:R$"":1230~NBNB1980II2R$""E11240R$"".,"ET$","ES$ H"FAILED" R15 \B QUEUE8 vTRY0Z 15,"M-W"(8)(0)(2)(T)(S)z 15,"M-W"(1)(0)(1)(JOB) TRYTRY1 15,"M-R"(1)(0) #15,E$ E$""E$(0) E(E$) TRY500750 E127660   ERI010 #2,B$ I J7790( I013 #2,B$: IA JP ST64820Y *360` 42x >15,EN$,EM$,ET$,ES$ HN0880 R"NO CLOSED FILES ARE IN THE DIRECTORY" \15 f pI0 z"" N$("00"((N),((N))1),3) 8,15 15,"I0"' 15,EN$,EM$,ET$,ES$9 EN$"00"270X ""EN$", "EM$","ET$","ES$` 15f q  SEEK} JOB176 570 "E1320 ,690 6 READ @JOB128 J570 TE1360 ^690 h15 r"INSERT CLONE IN DRIVE" |J07 r#2,B$! |B$""B$(0)- A(B$)B A127A133510M I02X #2,B$_ Ir B$""B$(0)~ A(B$) A0J7:J:820 I025 #2,B$ I 750 #2,B$ B$""B$(0) T%(N)(B$) #2,B$ &B d EDIT DISK NAME"nI1167xPAD$PAD$(160)>I\"EDIT DISK NAME - 1541""REMOVE WRITE PROTECT TAB""INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""180C$(13)180"OK"15,8, d EDIT DISK ID0n"EDIT DISK ID - 1541"Sx"REMOVE WRITE PROTECT TAB"t"INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""150C$(13)150"OK"15,8,1515,"I0"15,EN$,EM$,ET$,ES$  690h15,"B-P";2;162rI12*|#2,B$=B$""B$(0)IA(B$)\A127AA128pA32A95A63A34A63ODI$ODI$(A)I"OLD DISK ID: ";ODI$"NEW DISK ID";NDI$(NDI$)0(NDI$)3500690S$v15,"I0"15,EN$,EM$,ET$,ES$'155"DONE!";G CLOSEN2f15,EN$,EM$,ET$,ES$n15tA63ODI$ODI$(A)I"OLD DISK ID: ";ODI$"NEW DISK ID";NDI$(NDI$)0(NDI$)3500690d EDIT LOAD ADDRESS3nH$"0123456789ABCDEF"Tx"EDIT LOAD ADDRESS - 1541"w"REMOVE WRITE PROTECT TAB""INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""160C$(13)160"OK"15,8,15N$,EM$,ET$,ES$15"DONE!"$C""EN$", "EM$","ET$","ES$J2b&15,EN$,EM$,ET$,ES$j015{:"FAILED"DEN$"00"3206530@15,"M-R"(97)(2)J#15,D$TD(D$(0))^15,"M-R"(24)(0)(2)h#15,T$ r(F$)0(F$)17360^9205h2,8,2,"0:"F$",P,R"Mr15,EN$,EM$,ET$,ES$_|EN$"00"400h94015,"M-R"(24)(0)(2)#15,T$T(T$(0))#15,S$S(S$(0))215,EN$,EM$,ET$,ES$EN$"00"490900$","ES$ 15'"FILENAME";F$B(F$)0(F$)17280J15Pj2,8,2,"0:"F$",?,R""15,EN$,EM$,ET$,ES$,EN$"00"3206530@15,"M-R"(97)(2)J#15,D$TD(D$(0))^15,"M-R"(24)(0)(2)h#15,T$ rNDN$(NDN$)0(NDN$)17530&720J"ARE YOU SURE (Y/N) Y";Q$[Q$"Y"720t&NDN$(NDN$PAD$,16)015,"B-P";2;144:2,NDN$;D15,"U2";2;0;18;0N15,EN$,EM$,ET$,ES$XEN$"00"640b""EN$", "EM$","ET$","ES$lD$"OLD LOAD ADDRESS: ";OLA$8"NEW LOAD ADDRESS";NLA$K(NLA$)4690T960x"ARE YOU SURE (Y/N) Y";Q$Q$"Y"960HD$(NLA$,2)1060TME1960LOWDHD$(NLA$,2)1060TME1960 HIGHD15 15,"I0"%15,EN$,EM$,ET$,ES$7EN$"00"280V""EN$", "EM$","ET$","ES$^15ds2,8,2,"#""15,"U1";2;0;18;0,15,EN$,EM$,ET$,ES$615,"B-P";2;2@#2,B$JB$""B$(0)TDOS(B$)^DOS65390h"73,CBEN$"00"250*""EN$", "EM$","ET$","ES$2158G2,8,2,"#"]15,"U1";2;0;18;0u15,EN$,EM$,ET$,ES$15,"B-P";2;2"#2,B$,B$""B$(0)6DOS(B$)@DOS65360J"73,CBM DOS V2.6 1541,00,00"T"FAILED"^"ARE YOU SURE (Y/N) Y";Q$)Q$"Y"690ANDI$(NDI$(0),2)U15,"B-P";2;162b2,NDI$;x&15,"U2";2;0;18;0015,EN$,EM$,ET$,ES$:EN$"00"610D""EN$", "EM$","ET$","ES$N"FAILED"X690b2l15,EN$,EM$,ET$,E", "EM$","ET$","ES$ "FAILED" 27 15,EN$,EM$,ET$,ES$? 15E b  DECIMAL TO HEXADECIMALp H(D16) LD(H16) HD$(H$,H1,1)(H$,L1,1)   HEXADECIMAL TO DECIMAL $TME0 .H0 8I116 B(HD$,1)(H15,"I0"15,EN$,EM$,ET$,ES$/EN$"00"260N""EN$", "EM$","ET$","ES$V15\r15,"M-R"(1)(1)#15,DOS$DOS$""DOS$(0)"DOS(DOS$),DOS653306"73,CBM DOS V2.6 1541,00,00"@910J"FILENAME";F$T$,I,1)HI:I16 LI VH0TME1:1200' `HH1/ jL0; tI116\ ~(HD$,1)(H$,I,1)LI:I16c Ix L0TME1:1200 LL1 DH16L  z CLOSE ""EN$", "EM$","ET$","ES$ "FAILED" 15  ""EN$ 2,8,2,"#2"15,"U1";2;0;T;S415,EN$,EM$,ET$,ES$FEN$"00"540O900i15,"M-R"(2)(5)(2)w&#15,LOW$0LOW(LOW$(0)):#15,HIGH$DHIGH(HIGH$(0))NDHIGHX1010bOLA$HD$lDLOWv1010OLA$OLA$HT(T$(0))|#15,S$&S(S$(0))?D$((D),((D))1)SD10D$"0"D$lT$((T),((T))1)T10T$"0"T$S$((S),((S))1)S10S$"0"S$"TRACK 18 - SECTOR "D$"TRACK "T$" - SECTOR "S$215,E"FAILED"v7202-15,EN$,EM$,ET$,ES$:15,"I0"R15,EN$,EM$,ET$,ES$Z15h"DONE!"nz CLOSE215,EN$,EM$,ET$,ES$15ODN$ODN$(A)I"OLD DISK NAME: ";ODN$"NEW DISK NAME"; 15,"M-W"(2)(5)(2)(LOW)(HIGH)0 15,"U2";2;0;T;SH *15,EN$,EM$,ET$,ES$Z 4EN$"00"840c >940j H2 R15,EN$,EM$,ET$,ES$ \15 f"DONE!" p z CLOSE ""EN$", "EM$","ET$","ES$ "FAILED" 15  ""EN$M DOS V2.6 1541,00,00"#r"FAILED",|720@15,"B-P";2;144LI116W#2,B$jB$""B$(0)vA(B$)A127AA128A32A95A63A34A63ODN$ODN$(A)I"OLD DISK NAME: ";ODN$"NEW DISK NAME"; /d DISPLAY A BLOCK AVAILABILITY MAP - 1541;nN$(16)axS(I)2(S(S8)8)(B((S8)))~"DISPLAY A BAM - 1541""INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""160C$(13)160"OK"15,8,1  d VIRTUAL DIRECTORY - 1541&n@xH$"0123456789ABCDEF"KI05WFT$(I)^I"VIRTUAL DIRECTORY - 1541""INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""190C$(13)190"OK" 15,8, "" #2,B$ I02 #2,B$& B$""B$(0)5 B(I)(B$)< IS "";(CR$,T);t NS202(T17)(T24)(T30) S0NS S(S)0A$;:1050 F$; ""; $S .T 8""; B2 L15,EN "M-R"(250)(2)(3) #15,B$, L(B$(0))8 #15,B$D #15,B$U H(B$(0))f BFL(H256)t BA664BF} 4,3 2,8,2,"#" 3,8,3,"$0,P,R" #3,B$ DOS(B$(0)) I3143 #3,B$ I I144159 &1360 04);+ "14 "N$(15);a "15 "N$(16);k "16"u *"17" 4"18 ";DOS$;" ";(ID$,1); >"19  OR=EMPTY ";(ID$,1);  TYPE: "DOS' 4,"BLOCKS ALLOCATED:"BAD 4,"BLOCKS FREE: "BFK 4| 4,"BLOCKS FILE NAME TYPE T-S LOAD" F8(F8)4 #3,B$ FT(B$(0)) *FT$FT$(7FT) 4#3,B$ >T(B$(0)) HT$("0"((T),((T)) "N$(5);H "R5 "N$(6);} " 6 "N$(7); " 7 "N$(8); " 8 "N$(9); " 9 (B$(0)) H(A16)LA16H<LA$(H$,H1,1)(H$,L1,1)LA$FF$""QNULL0]I116g1360$B$(0)NULLNULL1.F$F$(A)8IBNULL161270LI19V#3,B$`Ij#3,B$tB(B$(0))~#3,B$BAME15,"B-P";2;144I116'11406N$(I)(A)=IS& GET COSMETIC ID^0ID$""r:15,"B-P";2;162}DI12N1140XID$ID$(A)bIl" TRACK 11111111112222222222333333"v" 123456789012345678901234567890 2 15,EN$,EM$,ET$,ES$15(,2 FILE TYPESJ< DEL,SEQ,PRG,USR,REL,???[F GET A BYTEfP#3,B$yZB$""B$(0)dA(B$)nA127AA128xA32A95A63A34A63j#3,B$tB(B$(0))~#3,B$B5 15,"I0"$15,EN$,EM$,ET$,ES$HEN$"00"EN$"22"EN$"23"260g""EN$", "EM$","ET$","ES$o15u2,8,2,"#"15,"U1";2;0;18;015,EN$,EM$,ET$,ES$" GET DOS,15,"B-P";2;26#2,B$@B$""B$(0)JDOS(B15 15,"I0"% 15,EN$,EM$,ET$,ES$7 EN$"00"300V ""EN$", "EM$","ET$","ES$^ 15d x " FORMATTING ID ,15,"M-R"(22)(0)(2) 6#15,B$ @1370 JFI$FI$(A) T#15,B$ ^1370 hFI$FI$(A) r BLOCKS FREE |15,$,EM$,ET$,ES$V15`j GET A BYTE#t#2,B$6~B$""B$(0)BA(B$)UA127AA128iA32A95A63xA34A63~"" 15,"B-P";2;4 T135 T2(T2)F$" ":940 F$DN$DN$(A) :I D#3,B$$ N#3,B$3 XI162163= b1360N lID$ID$(A)U vId I164255o #3,B$v I I16 4 I 4,"DISK NAME: "DN$ 4,"DISK ID: "ID$ 4,"FORMATTING ID: "FI$ 4,"DOSH"20 ";3 RBF$(" "((BF),((BF))1),3)Y \BF1" ";BF$;" BLOCK FREE":880q fBF$;" BLOCKS FREE"| pA$"." zCR$"" 15,"B-P";2;4 T135 T2(T2)F$" ":940 F$1),2) R#3,B$ \S(B$(0)): fS$("0"((S),((S))1),2)E pLA$""c z(7FT)0(7FT)21020x 15,"U1";2;0;T;S 15,"B-P";2;2 #2,B$ A(B$(0)) H(A16) LA16H LA$(H$,H1,1)(H$,L1,1) #2,B$ A "N$(10);S "10 "N$(11); "11 "N$(12); "12 "N$(13); "13 "N$(1 B256(B$(0))&B$(" "((B),((B))1),3)7ST64EOI1KFT1284,"";v4," "B$" "F$" "FT$" "T$"-"S$" "LA$FF1F8(F8)#3,B$:#3,B$C$:C$""1250C$:C$""1240EOI112707804312345"5"S0 "N$(1);l"E1 "N$(2);"C2 "N$(3);"T3 "N$(4); "O4 d FIND A FILE.n"FIND A FILE - 1541"Ox"INSERT DISKETTE IN DRIVE"r"PRESS RETURN TO CONTINUE"C$:C$""140C$(13)140"OK"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"240""EN$", "EM$","ET$)TDOS65DOS$"V2.6":3807^DOS1DOS$"V1.2":380GhDOS$"V?.?"]r GET BLOCKS FREEf|BF0nB4zI135I18II1:BB415,"B-P";2;B#2,B$B$""B$(0)A(B$)BFBFABB4I GET DISK NA H~1541 DEVELOPMENT262A 20 ERROR 20.PAL20M ERROR 20M.PAL21 ERROR 21.PAL 22A ERROR 22B ERRORINTROGT A DISKINTROGT A TRACKINTROGT FMTG ID BACKUP.PAL LAZARUS XXXXXXXXXXXXXXXX MAKE A FILERECOVER T&SK 23A ERROR 23A.PAL 23B ERROR23B.PAL23M ERROR23M.PAL27M ERROR 27M.PALSHAKE RATTL&ROLLVALIDATE A DISK VIRTUAL DIR K BACKUP BACKUP.PAL BIG MOVE BIN TO DECBIN TO GCRBULK ERASERCERTIFY A DISKCOPYKK  COPY T&S COPY.PALDEC TO BINDEC TO HEXDESTROY A SECTOR DESTROY.PALDISK PEEKDISPLAY A BAM KKDISPLAY A CHAIN DISPLAY T&SDUMP T&SDUPLICATE T&S EASY MOVEEDIT DISK IDEDIT DISK NAMEEDIT DOS VERSIONKKEDIT LOAD ADRS EDIT T&SFIND A FILE FORMAT A DISK FORMAT.PALGCR TO HEXHEX TO DECHEX TO GCRKK %d DISPLAY TRACK & SECTOR - 1541+nFxHD$"0123456789ABCDEF"l"DISPLAY TRACK & SECTOR - 1541""INSERT DISKETTE IN DRIVE""DISPLAY TRACK & SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS*" 1360@ READJJOB128#T8500^E1470ThE1E12EN$((E18),2):380urEN$"02":EM$"?TIMEOUT":390|EM$"READ ERROR"ET$T$ES$S$""EN$", "EM$","ET$","ES$E4E5450102047015O D"" NJ015XDK128J8%b970<lBP$" . "DH$": "FvH$""PA$""[I07{15,"M-R"(K128J8I)(4)#15,B$D(B$(0))970H$H$DH$" "D127DD128D32D90D46A$A$(D)I ""E$(0) E(E$) TRY500950+ E1278801 N  DECIMAL TO HEXADECIMAL^ H(D16)1q LD(H1)161 DH$(HD$,H,1)(HD$,L,1)   DELAY "PRESS RETURN TO CONTINUE" C$:C$""1030 C$(13)1030 d DISPLAY A CHAIN - 1541$nCx"DISPLAY A CHAIN - 1541"d"INSERT DISKETTE IN DRIVE""TRACK & SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"OUTPUT TO SCREEN OR PRINTER (S/P) S";O$!^4," DISPLAY A CHAIN"Jh4," BLOCK TRACK - SECTOR"Qr4Z|420" DISPLAY A CHAIN "" BLOCK TRACK - SECTOR """BB11030 SEEKJOB176, "EM$","ET$","ES$NE4E5630+XO$"P"8105b1090>l820WvB$((B),((B))1)kB10B$" "B$B100B$" "B$O$"P"4," "B$" "T$" - "S$:680" "B$" "T$" - "S$15,"M-R"(0)(4)(2)RACK OR SECTOR R1030O \O$"P"4," 66, ILLEGAL TRACK OR SECTOR,"T$","S$:810{ f"66, ILLEGAL TRACK OR SECTOR,"T$","S$ p1090 z820  JOB QUEUE TRY0 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRYAN TO CONTINUE" LC$:C$""1100' VC$(13)1100- `ACK OR SECTOR,"T$","S$:810{ f"66, ILLEGAL TRACK OR SECTOR,"T$","S$ p1090 z820  JOB QUEUE TRY0 15,"M-W"(8)(0)(2)(T)(S) 15,"M-W"(1)(0)(1)(JOB) TRY"d EDIT TRACK & SECTOR - 1541.n56,1594xOHD$"0123456789ABCDEF"oCD$"""EDIT A SECTOR - 1541""REMOVE WRITE PROTECT TAB""INSERT DISKETTE IN DRIVE""EDIT TRACK & SECTOR (T,S)";T,S TOUTPUT TO SCREEN OR PRINTER (S/P) S";O$AO$"S"O$"P"_"ARE YOU SURE Y";Q$nQ$"Y"{15,8,15T$((T),((T))1)T10T$"0"T$S$((S),((S))1)S10S$"0"S$ SEEK"JOB176,8506E$"S"550 4,4I164%IN4," DISPLAY TRACK & SECTOR"x4," TRACK "T$" - SECTOR "S$4&K010" DISPLAY TRACK & SECTOR ":" TRACK "T$" - SECTOR "S$" "BP$;H$;A$ O$"P"4,BP$;H$;A$ J/ O$"P"8009 1020@ KO *O$"P"4W 415` >110p H JOB QUEUEz RTRY0 \15,"M-W"(8)(0)(2)(T)(S) f15,"M-W"(1)(0)(1)(JOB) pTRYTRY1 z15,"M-R"(1)(0) #15,E$ E$"OK" $O$"P"4,BP$;H$;A$ J/ O$"P"8009 1020@ KO *O$"P"4W 415` >110p H JOB QUEUEz RTRY0 \15,"M-W"(8)(0)(2)(T)(S) f15,"M-W"(1)(0)(1)(JOB) pTRYTRY1 z15,"M-R"(1)(0) #15,E$ E$O$"S"O$"P"."ARE YOU SURE Y";Q$=Q$"Y"J15,8,15W15,"I0"o15,EN$,EM$,ET$,ES$EN$"00"290""EN$", "EM$","ET$","ES$15"O$"S"390,"PRINTING A CHAIN"64,4@I16J4TI910E1520 READ%JOB128.910;E1630_E1E12EN$((E18),2):540EN$"02":EM$"?TIMEOUT":550EM$"READ ERROR"&ET$T$0ES$S$:O$"P"4," "EN$", "EM$","ET$","ES$:590 D" "EN$" #15,T$ T(T$(0)) T0760+ #15,S$< S(S$(0))f T35S202(T17)(T24)(T30)850 O$"S"B16(B16)420 O$"P"780 1090 T0810 O$"S"390 420 *O$"P"4 415 >110 H ILLEGAL TTRY1 15,"M-R"(1)(0) #15,E$- E$""E$(0)9 E(E$)K TRY5001010Z E127940` p  STR$(T,S) T$((T),((T))1) T10T$"0"T$ S$((S),((S))1) $S10S$"0"S$ . 8 DELAY B"PRESS RETUR1T351580*NS202(T17)(T24)(T30)=S0SNS1580_"STARTING BYTE (00/80)";SB$r(SB$)01580SB(SB$)SB0SB801580SB0BP0:280BP128"ARE YOU SURE Y";Q$"Q$"Y"1580,15,8,15 6T$  BP$H$""A$"" J> "EDIT TRACK "T$" - SECTOR "S$" (Y/N)?"H 1790Z Q$"Y"1390 CD$"PRESS CLR TO EXIT " ""; S1151 *C1 4A(S):A127AA128 >MS HM,A128 RI$:I$""850 \ ;:1230 I1571000& C1CC1:SS1:1290Z C1S1151I118:"";:I:C23:SS18:1300j I171020 S401774SS40:1290 I1451040 S401150SS40:1290 A32A160850 I48I57I65I70820 $I$;  II128 I32I95I46 I34I46A I64M25C(C3),I64128:1230Z M25C(C3),I128 C23S1773I117:"";:I:C1:SS18:1300 S1773"";:1300 SS1 CC1 M,A 820 I$; A(M):A127AA 1420C$(13)1420 120@CD$"REWRITING TRACK "T$" - SECTOR "S$" "MI0127w15,"M-W"(IBP)(4)(1)((40704I))~I WRITET(T$)S(S$)JOB144162015E11400CD$"ATTEMPT TO EDIT1650  DECIMAL TO HEXADECIMALH(D16)10LD(H1)161NDH$(HD$,H,1)(HD$,L,1)T` QUERYtQ$:Q$""1790Q$"Y"Q$"N"1790S(S$)JOB144162015E11400CD$"ATTEMPT TO EDITd EDIT DOS VERSION8n"EDIT DOS VERSION - 1541"[x"REMOVE WRITE PROTECT TAB"|"INSERT DISKETTE IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""150C$(13)150"OK"15,8,1515,"I0"15,EN$,EM$,ET$,Y/N) Y";Q$TQ$"Y"500$^T18,hS07r SEEKC|JOB176L530W READcJOB128l53015,"M-W"(2)(4)(1)(NDV) WRITEJOB14453015"DONE!"15 JOB QUEUETRY015,!d CERTIFY A DISKETTE - 1541-nI132BxNULL$NULL$(0)ZWRITE$WRITE$(15)aIvT%(681),S%(681)" CERTIFY A DISKETTE"" WARNING""RANDOM ACCESS AND DEL FILES WILL BE LOST""REMO((T),((T))1) @T10T$"0"T$9JS$((S),((S))1)MTS10S$"0"S$X^ SEEKdhJOB176nr1620||E1430 READJOB1281620E1520E1E12EN$((E18),2):450EN$"02":EM$"?TIMEOUT":470E7EJ8BP:1740DBP$" . "DH$": ")NH$""3XA$"">bI07[l15,"M-R"(J8IBP)(4)gv#15,B$xD(B$(0))(40704J8I),D1740H$H$DH$" "D127DD128D32D95D46D34D46A$A$(D)II(I$) fI147M,A:1360& pI19M,A:7906 zI141I13E I13930c C23S1773"";:1230 S1751M,A:IC23:"";:SS1:I:SS1:C23:1230 I32I29:I$(29) I29970 C23CC1:SS1:1290 S1773"".AI:I64AA64 8A7LA9" BA47LA48I L((C1)3)(C1)3R(S1):1120V VR(S1)i `R127RR128x jR7RR9 tR47RR48 ~((C1)3)(C1)3IL16R:1170 IR16L 407048((M1151)40)(C3),I I127128 M,A(8202CD$"EXIT (Y/N)?"!<17901FQ$"N"780ePCD$"REWRITE TRACK "T$" - SECTOR "S$" (Y/N)?"oZ1790dQ$"Y"1450n15xCD$"ATTEMPT TO EDIT A SECTOR FAILED ""PRESS RETURN TO CONTINUE"C$:C$"" A SECTOR COMPLETE""1410,56,1606@-J JOB QUEUE7TTRY0Y^15,"M-W"(8)(0)(2)(T)(S)yh15,"M-W"(1)(0)(1)(JOB)rTRYTRY1|15,"M-R"(1)(0)#15,E$E$""E$(0)E(E$)TRY5001720E127@ BAM J15,"M-R"(0)(7)(192)-TI01919^#15,B$LhB$""B$(0)]rBAM$BAM$B$d|I{DOS((BAM$,3,1))DOS6546015"73,CBM DOS V2.6 1541,00,00""FAILED" BUFFERI0J1815,"M-WES$EN$"00"2502""EN$", "EM$","ET$","ES$:15@V15,"M-R"(1)(1)d#15,DOS${DOS$""DOS$(0)ODV(DOS$)""OLD DOS VERSION:";ODV,NDV16"NEW DOS VERSION";NDV@NDV0NDV255500 J"ARE YOU SURE ("M-W"(8)(0)(2)(T)(S)3&15,"M-W"(1)(0)(1)(JOB)A0TRYTRY1W:15,"M-R"(1)(0)cD#15,E$vNE$""E$(0)XE(E$)bTRY500630lE127560vE115"FAILED"NDV0NDV255500 J"ARE YOU SURE (VE WRITE PROTECT TAB"6"INSERT DISKETTE IN DRIVE"Y"PRESS RETURN TO CONTINUE"lC$:C$""220C$(13)220"OK"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"330"""EN$", "EM$","ET$","ES$,156 8EM$"WRITE ERROR":470(EM$"READ ERROR"3ET$T$>ES$S$]""EN$", "EM$","ET$","ES$e15o1580" EDIT TRACK & SECTOR "" TRACK "T$" - SECTOR "S$" """&J0150D %d RECOVER TRACK & SECTOR - 1541Kn"RECOVER TRACK & SECTOR - 1541"lx"INSERT DISKETTE IN DRIVE""RECOVER TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$ Q$  TJOB128 ^520 hE4420+ rE54409 |E1640N "00, OK,00,00"V 15\ { 15,"M-W"(71)(0)(1)(7)  WRITE JOB144 520 E1480 640 15 "DONE!"   JOB QUEUE TRY0 15,"M-W"(8)))1) S10ES$"0"ES$7 E1E12EN$((E18),2):700Y EN$"02":EM$"?TIME OUT":720} E7E8EM$"WRITE ERROR":720 EM$"READ ERROR" ""EN$", "EM$","ET$","ES$ "FAILED" 15 B QUEUE TRY0 15,"M-W"(8) d LAZARUS - 1541-n"LAZARUS - 1541"Nx"INSERT DISKETTE IN DRIVE""ATTEMPT A RESURRECTION (Y/N) Y";Q$Q$"Y"15,8,15 SEEKT135NS202(T17)(T24)(T30)T$((T),((T))1)T10T$"0""(I)(4)(32)WRITE$II32 J(T10S08C0@A0T&15,"B-A";0;T;Sl015,EN$,EM$,ET$,ES$~:EN$"00"620DT(ET$)NT0C0760XT0800bS(ES$)lT$("0"((T),((T))1),2)vS$("0"((S),((S))1),15% "ALL SECTORS HAVE BEEN ALLOCATED"6 "FAILED"< D I0O *J16x 415,"M-W"(I)(4)(32)(BAM$,I1,32) >II32 HJ R15,"M-W"(192)(4)(32)NULL$ \15,"M-W"(224)(4)(32)NULL$ fT18 pS0 z1030 15,"IB QUEUE `TRY0% j15,"M-W"(8)(0)(2)(T)(S)E t15,"M-W"(1)(0)(1)(JOB)S ~TRYTRY1i 15,"M-R"(1)(0)u #15,E$ E$""E$(0) E(E$) TRY5001220 E1271150 )(32)NULL$ fT18 pS0 z1030 15,"I380h15,"M-W"(71)(0)(1)(7)*r WRITE6|JOB144?510OE1WW1VS]Te15" "BD35"?BAD DISK":"READ ERRORS :"R"WRITE ERRORS:"W"DONE!"*d INTERROGATE FORMATTING ID'S - 15415nT(35)AxI135LT(I)1SI~"INTERROGATE FORMATTING ID'S - 1541""INSERT MASTER IN DRIVE""PRESS RETURN TO CONTINUE"C$:C$""180C$(13)18015,8,15"" $("I$")" |D$"CHR$("D$")"0 ID$I$" + "D$9 450\ E3ID$"?NO SYNC MARKS":450 E2ID$"?HEADER BLOCKS NOT PRESENT":450 E9ID$"?CHECKSUM ERROR IN HEADERS":450 ID$"?TIME OUT" T$((T),((T))1) T10T$" "T"Y" 15,8,15 15,"I0"7 15,EN$,EM$,ET$,ES$I EN$"00"290h ""EN$", "EM$","ET$","ES$ "PRESS RETURN TO CONTINUE" C$:C$""250 C$(13)250 "OK"  SEEK "JOB176 ,520 6E1340 @640 J READ(0)(2)(T)(S)* 15,"M-W"(1)(0)(1)(JOB)8 &TRYTRY1N 015,"M-R"(1)(0)Z :#15,E$m DE$""E$(0)y NE(E$) XTRY500640 bE127550 l v ERROR HANDLER ET$((T),((T))1) T10ET$"0"ET$ ES$((S),((S$ "TRACK "T$" = "ID$  PAUSE2 C$:C$""510E C$:C$""500L TT 15Z j  JOB QUEUEt &TRY0 015,"M-W"(8)(0)(2)(T)(0) :15,"M-W"(1)(0)(1)(176) DTRYTRY1 N15,"M-R"(1)(0) X#15,E$ bE$""E$(0T$ JOB176510#E1250;BDBD1:RRNS:420F READRS0NSkS$((S),((S))1)S10S$"0"S$""RESURRECTING TRACK "T$" - SECTOR "S$,JOB1286510@E1410JRR1TE4E5410^E52)CC1C1" "(15,"B-A";0;T;S]"CERTIFYING TRACK ";T$;" - SECTOR ";S$"NUMBER OF SECTORS CERTIFIED :";C"NUMBER OF BAD SECTORS ALLOCATED:";A1030E1550AA1T%(A)TS%(A)S5500" 15,EN$,EM$,ET$,ES$ A0960$ 15< "NO BAD SECTORS!"B M I1Ai 15,"B-A";0;T%(I);S%(I)p Ix 15 "DONE!"   SEEK JOB176 1120 E11080 $ . WRITE 8JOB144 B1120 L V JO7) lE(E$) vTRY500650% E127580+  450\ E3ID$"?NO SYNC MARKS":450 E2ID$"?HEADER BLOCKS NOT PRESENT":450 E9ID$"?CHECKSUM ERROR IN HEADERS":450 ID$"?TIME OUT" T$((T),((T))1) T10T$" "T JOB QUEUETRY0;15,"M-W"(8)(0)(2)(T)(S)[15,"M-W"(1)(0)(1)(JOB)iTRYTRY1&15,"M-R"(1)(0)0#15,E$:E$""E$(0)DE(E$)NTRY500610XE127540bJRR1TE4E5410^E5 SEEK T135# T(T)0440, 550: E1410Q 15,"M-R"(22)(0)] #15,I$p "I$""I$(0)| ,I(I$) 6I$((I),((I))1) @15,"M-R"(23)(0) J#15,D$ TD$""D$(0) ^D(D$) hD$((D),((D))1) rI$"CHR d 20M ERROR - 1541$nD$(24)Ex"MULTIPLE 20 ERROR - 1541"c"INSERT CLONE IN DRIVE"{"DESTROY TRACK";TT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"260 224580%15,"M-W"(0)(6)(24)I$1J024<I07CDXD$(J)D$(J)(D)_IfJnI0zJ02415,"M-W"(I)(4)(8)D$(J)II8J EXECUTE15,"M-E"(0)(4)15&"DONE!"0: JOB QUEUE ,253,169, 85,141, 1, 286 162,255,160, 48, 32,201,253, 32\ 0,254,169, 1, 76,105,249,234l 20M ERROR169, 0,133,127,166, 12,134, 81 134,128,166, 13,232,134, 67,169 1,141, 32, 6,169, 8,141, 38  6,169, 0,141, 40,  252, 2, 93,253( p 2,157,249, 2,238, 40, 6,173M z 40, 6,197, 67,208,189,138, 72r 169, 75,141, 0, 5,162, 1,138 157, 0, 5,232,208,250,169, 0 133, 48,169, 3,133, 49, 32, 48 254,104,168,136, 32,229,253, 32 245,253,1695, 3, 48,252, 76,148,193,249, 2,238, 40, 6,173M z 40, 6,197, 67,208,189,138, 72r 169, 75,141, 0, 5,162, 1,138 157, 0, 5,232,208,250,169, 0 133, 48,169, 3,133, 49, 32, 48 254,104,168,136, 32,229,253, 32 245,253,169d DESTROY A SECTOR - 1541*nD$(7)Jx"DESTROY A SECTOR - 1541"h"INSERT CLONE IN DRIVE""DESTROY TRACK AND SECTOR (T,S)";T,ST1T35NS202(T17)(T24)(T30)S0SNS"ARE YOU SURE Y";Q$Q$"Y(D)IJI0!J07@15,"M-W"(I)(5)(8)D$(J)JII8QJ_ EXECUTE15,"M-W"(2)(0)(1)(224)15,"M-R"(2)(0)#15,E$E$""E$(0)E(E$)E12748015"DONE!"&0 JOB QUEU SECTOR$ 32, 16,245, 32, 86,245,162, 0I 80,254,184,202,208,250,162, 69n 80,254,184,202,208,250,169,255141, 3, 28,173, 12, 28, 41, 31 9,192,141, 12, 28,162, 0,169 85, 80,254,184,141, 1, 28,202 208,247, 80,254, 32d 21 ERROR - 1541/n"21 ERROR - 1541"Mx"INSERT CLONE IN DRIVE"e"DESTROY TRACK";TuT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"250""EN$", "EM$","ET"(8)(0)(2)(T)(0)115,"M-W"(1)(0)(1)(JOB)?TRYTRY1U15,"M-R"(1)(0)a#15,E$tE$""E$(0)E(E$)TRY500510E12743015"FAILED" 21 ERROR& 32,163,253,169, 85,141, 1, 28""EN$", "EM$","ET$","ES$#15)4 SEEKUNS202(T17)(T24)(T30)^SNSjJOB176s"580,I0236D@D$D$(D)JI$I$(0)TI^15,"M-W"(0)(6)(24)D$h EXECUTEr"DESTROYING TRACK";T|JOBDTRY0'N15,"M-W"(12)(0)(2)(T)(S)GX15,"M-W"(3)(0)(1)(JOB)UbTRYTRY1kl15,"M-R"(3)(0)wv#15,E$E$""E$(0)E(E$)TRY500690E12761015"FAILED" 21 ERROR 32,163 6, 32, 0% *193,162, 0,169, 9,157, 0, 3J 4232,232,173, 40, 6,157, 0, 3o >232,165, 81,157, 0, 3,232,169 H 0,157, 0, 3,232,157, 0, 3 R232,169, 15,157, 0, 3,232,157 \ 0, 3,232,169, 0, 93,250, 2 f 93,251, 2, 93,, 5,133, 49, 32,233+ 245,133, 58, 32,143,247,169, 35P 133, 81,169,169,141, 0, 6,169u  5,141, 1, 6,169,133,141, 2  6,169, 49,141, 3, 6,169, 76 141, 4, 6,169,170,141, 5, 6 169,252,141, 6, 6,169,224,133  3,16P 0 162,255,160, 48, 32,201,253, 32F: 0,254,169, 1, 76,105,249,234D$(D)\,Iy615,"M-W"(0)(4)(24)D$@ EXECUTEJ"DESTROYING TRACK";TTJOB224^400h"DONE!"r15| JOB QUEUETRY015,"M-W"15,8,1515,"I0"315,EN$,EM$,ET$,ES$EEN$"00"280c""EN$","EM$","ET$","ES$k15q| SEEKS0SNS:300"SS1,JOB1766570@ READJJOB128T570^J07hI07rD|D$(J)D$(J)E:TRY0/D15,"M-W"(8)(0)(4)(T)(S)(T)(S)ON15,"M-W"(1)(0)(1)(JOB)]XTRYTRY1sb15,"M-R"(1)(0)l#15,E$vE$""E$(0)E(E$)TRY500680E127600E115"FAILED" DESTROY A5, 0,254,169'  1, 76,105,249,234,234,234,234)ON15,"M-W"(1)(0)(1)(JOB)]XTRYTRY1sb15,"M-R"(1)(0)l#15,E$vE$""E$(0)E(E$)TRY500680E127600E115"FAILED" DESTROY A $","ES$ 15 SEEK*JOB1763400?I023FDU"D$D$(D)\,Iy615,"M-W"(0)(4)(24)D$@ EXECUTEJ"DESTROYING TRACK";TTJOB224^400h"DONE!"r15| JOB QUEUETRY015,"M-W d 23M ERROR - 1541$nD$(11)Ex"MULTIPLE 23 ERROR - 1541"c"INSERT CLONE IN DRIVE"{"DESTROY TRACK";TT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"260 15,"M-W"(I)(5)(8)D$(J)!II8(J6 EXECUTEe"DESTROYING TRACK"T"- SECTOR"S15,"M-W"(2)(0)(1)(224)15,"M-R"(2)(0)#15,E$E$""E$(0)E(E$)E127480S15&"DONE!  15 "FAILED"! 23 ERRORG 169, 4,133, 49,165, 58,170,232m 138,133, 58, 32,143,247, 32, 16 245,162, 8, 80,254,184,202,208 250,169,255,141, 3, 28,173, 12 28, 41, 31, 9,192,141, 12, 28  169,255,162, 5, d 27M ERROR - 1541$nD$(25)Ex"MULTIPLE 27 ERROR - 1541"c"INSERT CLONE IN DRIVE"{"DESTROY TRACK";TT1T35"ARE YOU SURE Y";Q$Q$"Y"15,8,1515,"I0"15,EN$,EM$,ET$,ES$EN$"00"260224580%15,"M-W"(0)(6)(24)I$1J025<I07CDXD$(J)D$(J)(D)_IfJnI0zJ02515,"M-W"(I)(4)(8)D$(J)II8J EXECUTE15,"M-E"(0)(4)15&"DONE!"0: JOB QUEUE,253,169, 85,141, 1, 286 162,255,160, 48, 32,201,253, 32\ 0,254,169, 1, 76,105,249,234l 27M ERROR169, 0,133,127,166, 12,134, 81 134,128,166, 13,232,134, 67,169 1,141, 32, 6,169, 8,141, 38  6,169, 0,141, 40, 252, 2, 93,253( p 2,157,249, 2,254,249, 2,238M z 40, 6,173, 40, 6,197, 67,208r 186,138, 72,169, 75,141, 0, 5 162, 1,138,157, 0, 5,232,208 250,169, 0,133, 48,169, 3,133  49, 32, 48,254,104,168,136, 32 229,253, 32B4,133, 3,165, 3, 48,252.  76,148,193,234,234,234,234,234,173, 40, 6,197, 67,208r 186,138, 72,169, 75,141, 0, 5 162, 1,138,157, 0, 5,232,208 250,169, 0,133, 48,169, 3,133  49, 32, 48,254,104,168,136, 32 229,253, 32d BULK ERASER - 15415n"BULK ERASER - 1541"Vx"INSERT DISKETTE IN DRIVE"}"ERASE THIS DISKETTE Y";Q$Q$"Y""ARE YOU SURE Y";Q$Q$"Y"15,8,15I023DD$D$(D)I 15,"M-W""(1)(0)(1)(JOB)TRYTRY1315,"M-R"(1)(0)?#15,E$RE$""E$(0)^E(E$)oTRY500470~E12739015"FAILED" 21 ERROR 32,163,253,169, 85,141, 1, 28 162,255,160, 48, 32,201,253""EN$", "EM$","ET$","ES$#15)4 SEEK@JOB176I580jNS202(T17)(T24)(T30)v"S0NS, READ6JOB128@580JS0460TJ011^I07hDrD$(J)D$(J)(D)|IJI0J011 "0*: JOB QUEUE4DTRY0^N15,"M-W"(8)(0)(4)(T)(S)(T)(S)~X15,"M-W"(1)(0)(1)(JOB)bTRYTRY1l15,"M-R"(1)(0)v#15,E$E$""E$(0)E(E$)TRY500690E127610141, 1, 28,184+  80,254,184,202,208,250,160,187Q  185, 0, 1, 80,254,184,141, 1w * 28,200,208,244,185, 0, 4, 80 4 254,184,141, 1, 28,200,208,244 > 80,254, 32, 0,254,169, 5,133 H 49,169, 1,133, 2, 76,117,249""EN$", "EM$","ET$","ES$#15)4 SEEKUNS202(T17)(T24)(T30)^SNSjJOB176s"580,I0236D@D$D$(D)JI$I$(0)TI^15,"M-W"(0)(6)(24)D$h EXECUTEr"DESTROYING TRACK";T|JOBDTRY0'N15,"M-W"(12)(0)(2)(T)(S)GX15,"M-W"(3)(0)(1)(JOB)UbTRYTRY1kl15,"M-R"(3)(0)wv#15,E$E$""E$(0)E(E$)TRY500690E12761015"FAILED" 21 ERROR 32,163 6, 32, 0% *193,162, 0,169, 8,157, 0, 3J 4232,232,173, 40, 6,157, 0, 3o >232,165, 81,157, 0, 3,232,169 H 0,157, 0, 3,232,157, 0, 3 R232,169, 15,157, 0, 3,232,157 \ 0, 3,232,169, 0, 93,250, 2 f 93,251, 2, 93,,245,253,169, 5,133+  49, 32,233,245,133, 58, 32,143P 247,169, 35,133, 81,169,169,141u  0, 6,169, 5,141, 1, 6,169 133,141, 2, 6,169, 49,141, 3  6,169, 76,141, 4, 6,169,170 141, 5, 6,169,252,141, 6, 6 169,22., 32$ 0,254,169, 1, 76,105,249,234ASING TRACK"TD SEEKPJOB176Y360g EXECUTEs"JOB224|,3606T@"DONE! "J15T^ JOB QUEUEhTRY0r15,"M-W"(8)(0)(2)(T)(0)|15,"M-W (0)(4)(24)D$T1359"ERASING TRACK"TD SEEKPJOB176Y360g EXECUTEs"JOB224|,3606T@"DONE! "J15T^ JOB QUEUEhTRY0r15,"M-W"(8)(0)(2)(T)(0)|15,"M-W d 1541 COPYn56,16"x-251,09252,16D253,0P254,16\I172cDr49151I,DyI"1541 COPY""INSERT MASTER IN DRIVE"750810"FILENAME";F$(F$)0(F$)172801000"F D(D$(0))D65490<"73,CBM DOS V2.6 1541,00,00"E710a15,"M-R"(250)(2)(3)m#15,L$~L(L$(0))#15,B$#15,H$H(H$(0))CL(H256)&S(252)(((253)16)256)0B((S254).5):CB0600 760C$(13)760 "OK"3  INITIALIZATION@*15,8,15M415,"I0"e>15,EN$,EM$,ET$,ES$uHEN$"00"R""EN$", "EM$","ET$","ES$\15f670p FILE NOT FOUND - FILE EXISTSz2,8,2,"0:"F$","T$","RW$ 15,EN$  76, 5,192,132,251, 32,204,255=  96,162, 2, 32,201,255,160, 0b 177,253, 32,210,255,196,251,240  8,200,208,244,230,254, 76, 38 $192,165,254,197,252,208,242,132 .253, 32,204,255, 96,234,234,234F$","T$","RW$ 15,EN$d DECIMAL TO HEXADECIMAL8nH$"0123456789ABCDEF"Wx"DECIMAL TO HEXADECIMAL"`D1v"DECIMAL ";DD0D255H(D16)LD(H16)HD$(H$,H1,1)(H$,L1,1)"HEXADECIMAL: "HD$130$","RW$ 15,EN$d HEXADECIMAL TO DECIMAL8nH$"0123456789ABCDEF"Wx"HEXADECIMAL TO DECIMAL"bHD$""z"HEXADECIMAL";HD$(HD$)0(HD$)2H0I116(HD$,1)(H$,I,1)HI:I16IH0130HH1L0Id DECIMAL TO BINARY5nB(B)2(B(B8)8)DOx"DECIMAL TO BINARY"XD1j"DECIMAL";D{D0D255"BINARY : ";B70 1B(B)0"0";:200"1";B130d BINARY TO DECIMAL3n"BINARY TO DECIMAL"=xB$""`"BINARY (E.G., 10101010)";B$o(B$)0(B$)8B0D0I18(B$,I,1)"1"BB1:DD2(8I):210(B$,I,1)"0"BB1IB8120"DECId HEXADECIMAL TO GCR4nH$"0123456789ABCDEF"@xB$(15)RB$(0)"01010"dB$(1)"01011"vB$(2)"10010"B$(3)"10011"B$(4)"01110"B$(5)"01111"B$(6)"10110"B$(7)"10111"B$(8)"01001"B$(9)"11001"B$(10 hI rJ14|H(J)0$I116K(HG$(J),1)(H$,I,1)H(J)I:I16RIbH(J)0300rH(J)H(J)1}L(J)0I116(HG$(J),1)(H$,I,1)L(J)I:I16IL(J)0300L(J)L(J)1JI14IMAGE$IMAGEILE TYPE (DSPU) P";T$<"T$"D"T$"S"T$"P"T$"U"310F,1000R6RW$"R"[@890fJ49152mT2^15,EN$,EM$,ET$,ES$hEN$"00"380r850|15"INSERT CLONE IN DRIVE"75081015,"M-R"(1)(1)#15,D$ D"72,DISK FULL,00,00"N710*XRW$"W"3b890>l49182Ev2]15,EN$,EM$,ET$,ES$k"DONE!"s1556,160 CLOSE15"FAILED"670 DELAY"PRESS RETURN TO CONTINUE"C$:C$"",EM$,ET$,ES$ EN$"00" 28 ""EN$", "EM$","ET$","ES$I "FAILED"a 15,EN$,EM$,ET$,ES$i 15r 670  LOAD - SAVE 162, 2, 32,198,255,160, 0, 32 228,255,145,251, 32,183,255, 41  64,208, 8,200,208,241,230,252$B$(H(I))IMAGE$IMAGE$B$(L(I))&I5&""IMAGE$?0"";J:I18XD"^ ";_NIhX""sbI15lBD$(I)(IMAGE$,I87,8)vIJ15I18(BD$(J),I,1)"1"D(J)D(J)2(8I)IJI15H(D(I)16)1LD(I)(H1)1617DH$(I)(H$,H,1)(H$,L,1)>IU"HEXADECIMAL: ";`I14qHG$(I);" ";xI~ "GCR : "; I15*DH$(I);" ";4I>H"DONE!"RJI14IMAGE$IMAGEs116#(HD$,1)(H$,I,1)LI:I16*I7L0130ALL1N"DH16Ld,"DECIMAL :"Dm6130d GCR TO HEXADECIMAL4nH$"0123456789ABCDEF"PxB(B)2(B(B8)8)D\B$(15)nB$(0)"01010"B$(1)"01011"B$(2)"10010"B$(3)"10011"B$(4)"01110"B$(5)"01111"B$(6)"10110"B$(7)"10111"B$(8)"01001"#MAL :"D120BACKUP COPYHEXADECIMALDECIMALBINARY1 )"11010"B$(11)"11011"-B$(12)"01101"@B$(13)"11101"SB$(14)"11110"fB$(15)"10101"""HEXADECIMAL TO GCR",HG$""6"HEXADECIMAL (E.G., 084A0023)";HG$@(HG$)0J(HG$)8TI14^HG$(I)(HG$,I21,2) MAGE$,I54,5) IJ18$I015CH$(J)B$(I)D(J)I1:I15JIQJ\I18n D(I)0BDE1uI BDE1940*"GCR : ";4I15>GH$(I)" ";HIR\"HEXADECIMAL: ";fI18p(H$,D(I),1 d 23B.PALn/x2,8,2,"@0:23B.B,P,W"5@40960F;T.OPT P,O2Z;g $0500m;zLDA #$04STA $31;JSR $F78F ; CVERT GCRJSR $F510 ; FIND ;LDX #$08GAP BVC  BNE WRITESYNC;!LDY #$BBYOVERFLOW LDA $0100,Y ; WRITE OUT OVERFLOW BUFFERg1 BVC 1oCLV}STA $1C01INYBNE OVERFLOWBUFFER LDA $0400,Y ; WRITE OUT BUFFER&2 BVC 20CLV:STA $1C01DINYNBNE  d 23M.PALn/x2,8,2,"@0:23M.B,P,W"5@40960F;T.OPT P,O2Z;g $0500m;zLDA #$04STA $31;LDA $3ATAXINX ; INCENT CHECKSUMTXASTA $3A;"JSR $F78F LDX #$05STA $1C01CLV:WRITESYNC BVC WRITESYNCBCLVJDEX\BNE WRITESYNCb;oLDY #$BBOVERFLOW LDA $0100,Y ; WRITE OUT OVERFLOW BUFFER&1 BVC 10CLV:STA $1C01DINYNBNE OVERFLOW XBUFFER LDA $0400,Y d 27M.PALn/x2,8,2,"@0:27M.B,P,W"5@40960F;T.OPT P,O2Z;g $0400m;; INITIALIZATI ;LDA #$00STA $7FLDX $0CSTX $51STX $80LDX $0DINX"STX $43,LDA #$016STA $ LDA $0628%STA $0300,X ; SECR-INX9LDA $51USTA $0300,X ; TRACK]INXjLDA #$00STA $0300,X ; IDLINX&STA $0300,X ; IDH0INX:LDA #$0FDSTA $0300,X ; GAPNINXXSTA $0300,X ; GAPB$(9)"11001"#B$(10)"11010"6B$(11)"11011"IB$(12)"01101"\B$(13)"11101"oB$(14)"11110""B$(15)"10101","GCR TO HEXADECIMAL"6GH$""@"GCR (E.G., 525DA52A53)";GH$J(GH$)0T(GH$)10^I15hI15HD(I)H(I)16L(I)I,&IMAGE$""70I15C:DHD(I)RDB70 1vNB(B)0IMAGE$IMAGE$"0":610XIMAGE$IMAGE$"1"bBlIv""IMAGE$"";I15"^ ";I""I18H$(I)(I;  ; CREATE **;24LDA #$4B ; 1541 MAT@>STA $0500aHLDX #$01 ; 1541 MATiRTXA{\ STA $0500,XfINXpBNE z;; CVERT GCR ;LDA #$00STA $30LDA #$03STA $31JSR $FE30PL); zI2(I2)" "; I ) "DONE!"/ : I18Y D(I)0""H$(I)"";:970e H$(I);l I "BYTE DECODING ERROR" Iv""IMAGE$"";I15"^ ";I""I18H$(I)(IGAP ; OUT GAPCLV!"DEX.,BNE GAP46;_@LDA #$FF ; ENABLE WRITEmJSTA $1C03{TLDA $1C0C^ #$1FhA #$C0rSTA $1C0C|LDA #$FFLDX #$05STA $1C01CLVWRITESYNC BVC WRITESYNCCLVDEXBUFFERX3 BVC 3b;;lJSR $FE00 ; ENABLE Av;NLDA #$05ZSTA $31gLDA #$01uJMP $F969^ #$1FhA #$C0rSTA $1C0C|LDA #$FFLDX #$05STA $1C01CLVWRITESYNC BVC WRITESYNCCLVDEX ; CVERT GCR0,JSR $F510 ; FIND 66;C@LDX #$08bJGAP BVC GAP ; OUT GAPjTCLVr^DEXhBNE GAPr;|LDA #$FF ; ENABLE WRITESTA $1C03LDA $1C0C #$1FA #$C0STA $1C0CLDA #$FF ; WRITE OUT BUFFERb2 BVC 2#lCLV1vSTA $1C019INYHBNE BUFFERV3 BVC 3\;JSR $FE00 ; ENABLE ;LDA #$05STA $31LDA #$01STA $02JMP $F975 #$1FA #$C0STA $1C0CLDA #$FF0620!@LDA #$08 ; TAIL GAP/JSTA $0626<TLDA #$00`^STA $0628 ; SECR COUNTERfh;rJSR $C100 ; LED |;; CREATE S ;LDX #$00 LDA #$08 ; DBIDSTA $0300,XINXINX ; CHECKSUM bINXl;,vLDA #$00 ; COMPUTE CHECKSUM;E $02FA,XJE $02FB,XYE $02FC,XhE $02FD,XxSTA $02F9,X~;INC $02F9,X ; INCENT CHECKSUM;INC $0628LDA $0628CMP $43BNE ;TXA PHAGH$(I)(GH$,I21,2)rI$|J15/H(J)0;I116b(GH$(J),1)(H$,I,1)H(J)I:I16iIyH(J)0310H(J)H(J)1L(J)0I116(GH$(J),1)(H$,I,1)L(J)I:I16IL(J)0310L(J)L(J)1J ATAY DEY JSR $FDE5# JSR $FDF50 LDA #$05< STA $31J JSR $F5E9V STA $3Ad $JSR $F78Fj .; 8; JUMP INSTRUCTI B; LLDA #$23 VSTA $51 `; jLDA #$A9 tSTA $0600 ~LDA #$05 STA $0601 LDA #$85 STA  -d" MOVE THE 1541'S READ/WRITE HEAD"Gn"INSERT TEST DISK"jx"PRESS RETURN WHEN READY"p: MACHINE CODE ROUTINE TO READ A HEADER RESIDES AT $0300 (BUFFER #0): 169,48: : LDA #$30 133,69: : STA $ DER BLOCK NOT FOUND"7FD$(3)"03 NO SYNC CHARACTER "^"FD$(9)"09 HEADER BLOCK CHKSUM ER"~,T18:N1$"?":N2$"?":TR2556 A$: A$(13) 310@:J 15,8,15,"I"T:^ DIG OUT MASTER DISK IDh:r15,"M-R"(18)(0)(2)| (0)(28)(1)(A 4):( DISPLAY VALUES.:Z" MOVE THE 1541'S READ/WRITE HEAD"t&"CURRENT PHASE ="CV0"BITS 1 & 0 OF $1C00 ARE "D$(CV):"MASTER DISK ID: "I1$;I2$D"TRACK # FROM STEPPER:"T" "N"FDC ERROR:"FD$N (HIGHER TRACK #)1 " F5 = ATTEMPT TO READ TRACK # & ID"Q " F7 = TERMINATE PROGRAM"x " I = INITIALIZE (TO TRACK 18)" P(197)  P3 910  P4 T1 C1: 800  P5 T35 C1: 800  P6 990  P33 15,"OFF) : 15,"M-W"(0)(28)(1)(240).  K110:A$:9  15:? :`  ATTEMPT TO READ ANY HEADERf :  READ & SEND MACHINE CODE ROUTINE : :C$""  K1 11: X:C$C$(X): 15,"M-W"(0)(3)(11)C$ :  PUT JDIG OUT ID, TRAK & SECT :$15,"M-R"(22)(0)(4)1#15,N1$>#15,N2$X#15,X$:TR(X$(0))r#15,X$:SE(X$(0))| 450DE ROUTINE : :C$""  K1 11: X:C$C$(X): 15,"M-W"(0)(3)(11)C$ :  PUT Jd CONVERT BINARY TO GCRAn"ENTER FOUR BYTES (DECIMAL)"kxB$(0)"0":B$(1)"1":K07:P(K)2K:K07:P(K)2K: 15,8,15: INPUT BYTES & STORE IN DISK RAM ($52/5) K03"BYTE#"K"=";: X X0 X255 180 OUTINE615,"M-E"(208)(246)"@:EJ PEEK OUT AND DISPLAY RESULTS`T15,"M-R"(00)(3)(5)^"THE FIVE EQUIVALENT GCR BYTES ARE:"h K1 5r#15,X$:X(X$(0))|"BYTE#"K"="X;18);:430 15:: SUB DISPLAY aBINARY EQUIENTS"%";# L7012T(X2L)AXXTP(L)MB$(T);W:: AREA ($30/31)15,"M-W"(48)(0)(2)(0)(3): SET UP GCR POINTER ($34)15,"M-W"(52)(0)(1)(0)":, EXECUTE PUT4GB ($F6D0) IPC R$0602 LDA #$31 STA $0603! LDA #$4C/ STA $0604< LDA #$AAJ STA $0605W LDA #$FCe STA $0606k ;x LDA #$E0 STA $03 ;  LDA $03 (BMI 2; <JMP $C194STA $30LDA #$03STA $31JSR $FE30PL45 169,00: : LDA #$009 133,63: : STA $3FW 76,177,243 : JMP $F3B1]:D$(0)"00":D$(1)"01":D$(2)"10":D$(3)"11" FD$(16)FD$(0)" "FD$(1)"01 ALL OK "FD$(2)"02 HEA#15,I1$:I1$""I1$(0)1#15,I2$:I2$""I2$(0)7:@""F:j READ THE DISK CONTROLLER PORTp:15,"M-R"(0)(28)#15,A$: A$"" A$(0)A(A$)CV3 AA(159A)(9632((T17)(T24)(T30))) 15,"M-W"(E)8 XT$(TR):S$(SE): E1 T$"??":N1$"?":N2$"?":S$"??"Z b"TRACK # AS READ: "(T$,2){ l"SECTOR # AS READ: "(S$,2) v"ID OF TRACK READ: "N1$;N2$ "COMMANDS:" " F1 = MOVE HEAD OUT (LOWER TRACK #) " F3 = MOVE HEAD II":T18:E0:A214:480  450 :B  CHANGE PHASE IN RESPONSE TO COMMANDH :Z CV(CV C)3q *TTC.5:T1 T1 4T36T36 >BA 252 HCBCV R15,"M-W"(0)(28)(1)(C) \E0 f 450 p: z TERMINATE PROGRAM (DRIVE MP JOB IN THE JOB QUEUE :+ 15,"M-W"(0)(0)(1)(208)1 $:N . WAIT FOR JOB TO FINISHT 8:j B15,"M-R"(0)(0) L#15,E$:E(E$(0)) V E127 790 `: j "E" IS FDC ERROR CODE RETURNED t E1 450 ~: CLEAN READ SO d 1541 DISK PEEK.n BY GERALD NEUFELD_xC00:C22:C77:CA10:F15:CG16:HO48:HX127qZ$(0):N$""M$"  PRESS: P TO PAUSE Q TO QUIT """9)"PEEK OF 1541'S MEMORY"9)""4)" COPYRIGHT: ""18);:430215,"M-W"(82K)(0)(1)(X)8>:l SET UP POINTER TO STORAGE AREA ($30/31)15,"M-W"(48)(0)(2)(0)(3): SET UP GCR POINTER ($34)15,"M-W"(52)(0)(1)(0)":, EXECUTE PUT4GB ($F6D0) IPC R8 A$: A$"" 320$ A$"P":"";:250,15(H$,K))HO:CCACCC7i CC0 CF "";:240D((H$,K2))HO:DCADDC7" DC0 DF "";:240,HHHHCCG(C2K):HLHLDCG(C2K):K6""6);@15,"M-R"(HL)(HH)KKKKKKG. NEUFELD, 1983"6" ONE MOMENT PLEASE ...."L HX$(255),H$(15) K0 9:H$(K)(48K)::K1015:H$(K)(55K):J0F:K0F:HX$(J16K)H$(J)H$(K)::""M$" INPUT START ADDRESS IN HEXADECIMAL" 15,8,15(8)(JO$"": KC0C7:#15,A$: A$N$A$Z$UTA(A$):EAHX:E$".":E31E97E$(E)|^O$O$E$:" "HX$((A$));::" "O$hFL0:HLHL8:HL255HLHL256:HHHH1:FL1:M$r HL128 FL1:M$|" $"HX$(HH)HX$(HL);:FL1:"";:250 KKKKKKKK" $0000":""; H$KHLC0:HHC0:K12:C((H$,K))HO:CCACCC7i CC0 CF "";:240D((H$,K2))HO:DCADDC7" DC0 DF "";:240,HHHHCCG(C2K):HLHLDCG(C2K):K6""6);@15,"M-R"(HL)(HH)KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK